package main

import (
	"go_study/rpc-new-helloworld/hanlder"
	serverproxy "go_study/rpc-new-helloworld/server_proxy"
	"net"
	"net/rpc"
)

// 常规go rpc测试示例

func main() {
	// 1.实例化一个server
	listener, _ := net.Listen("tcp", ":1234")
	// 2. 注册处理逻辑 handler
	serverproxy.RegisterHelloService(&hanlder.NewHelloService{})
	// _ = rpc.RegisterName(hanlder.HelloServiceName, &hanlder.HelloService{})
	// 3. 启动服务
	// 防止响应一次后断开 采用死循环
	for {
		conn, _ := listener.Accept() // 当一个新的连接进来的时候，套接字传递给rpc
		go rpc.ServeConn(conn)       // 使用协程实现并发处理
	}

	// go 语言的rpc序列化协议是什么(Gob) 能否替换为常见的json序列化
}
